"""
已知有怎么一个小游戏：
某地有排成一排的五个山洞，编号依次为 1，2，3，4，5。其中一个洞里有一只小狐狸。
每天，小狐狸都会从当前所在的洞跳到与之相临的一个洞，但最开始狐狸所在的洞是随机的。
游戏玩家的任务是抓住这只狐狸。玩家的限制是每天只能去其中的一个洞察看，如果看到狐狸在这个洞里，就算抓住了狐狸，如果抓不到，就只能等第二天再去抓。
据研究，玩家至少需要6天才能确保抓住狐狸，按照234234的顺序进洞去抓就行。
当然，按照234432或者432432或者432234的顺序去抓，也能达到目的。像234234这样的必然能抓住狐狸的抓捕序列称为必胜序列。

问题一：设山洞数目为n（n>0），试用Python编程输出确保抓住狐狸的最短天数和一个必胜序列。
"""

import random

hole = 10       # 山洞数。
fox = []        # 记录狐狸的移动。
count = 0       # 统计搜索次数。


def fox_move(hole, fox=[]):
    """
    模拟狐狸的移动。
    """
    if not fox:
        fox.append(random.randint(0, hole))
    else:
        t = fox[len(fox) - 1]
        if random.randint(0, 1) == 0:
            if t - 1 >= 0:
                fox.append(t - 1)
            else:
                fox.append(t + 1)
        else:
            if t + 1 <= hole:
                fox.append(t + 1)
            else:
                fox.append(t - 1)


def abcabc():
    """
    234234移动搜索。
    """
    global count, goon
    while goon:
        for capture in range(1, hole - 1):
            count += 1
            fox_move(hole, fox)
            print('capture : ', capture, 'fox : ', fox[len(fox) - 1])
            if capture == fox[len(fox) - 1]:
                goon = 0
                break


abcabc()
print(count)
